HPC con R
Parte 4: Aplicación

George G. Vega Yon

Department of Preventive Medicine
University of Southern California
4 de Enero, 2019

Problema

  • Para mi tesis doctoral estoy desarrollando un modelo de evolución de funciones geneticas (por ejemplo, regulamiento de crecimiento celular)

  • La idea es que, utilizando la estructura evolutiva de los genes (aka Ć”rbol de la vida) podemos inferir funciones que aun no han sido descubiertas

Descripción del modelo

  • El modelo consiste en el cĆ”lculo de la probabilidad de observar un Ć”rbol filogenĆ©tico con un set de anotaciones en particular.

  • Utilizo lo que se conoce como el algoritmo de tree peeling (post order)… lo importante es que dicho algoritmo permite calcular la probabilidad de una manera rĆ”pida.

  • El problema: (1) La solución cerrada no es feasible, (2) El estimador de MĆ”xima verosimilitud ā€œno se porta bienā€

  • La solución: Estimación de parĆ”metros utilizando cadenas de monte carlo (MCMC).

HPC

  • El algoritmo de cĆ”lculo de la función de verosimilitud estĆ” escrito con Rcpp (aphylo)

  • El algoritmo de MCMC utiliza el paquete parallel para estimar multiples cadenas de forma paralela (hago esto para verificar convergencia) (amcmc)

  • Estudio de simulación: Utilizando la base de datos PANTHER DB (que consiste en cerca de 13.000 arboles), simular el modelo evolutivo en cada uno de ellos, estimar el modelo y posteriormente calcular la precisión de la las predicciones

  • La Ćŗltima parte fue implementada con el Cluster Computacional de USC, en concreto, utilizando 300 procesadores distribuidos en al rededor de 50 nodos (PCs). (todo implementado con un 3er paquete desarrollado para esto sluRm)

Resultados

”Gracias!

gvegayon
@gvegayon
ggvy.cl

Presentation created with and revealjs

See also

For more, checkout the CRAN Task View on HPC

Session info

## R version 3.5.1 (2018-07-02)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.5 LTS
## 
## Matrix products: default
## BLAS: /usr/lib/libblas/libblas.so.3.6.0
## LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] compiler_3.5.1  backports_1.1.2 magrittr_1.5    rprojroot_1.3-2
##  [5] tools_3.5.1     htmltools_0.3.6 revealjs_0.9    icon_0.1.0     
##  [9] yaml_2.2.0      Rcpp_1.0.0      stringi_1.2.4   rmarkdown_1.10 
## [13] knitr_1.20      stringr_1.3.1   digest_0.6.18   evaluate_0.12